After completing this lab, you will be able to:
In the Default Part window, select the Boards tab, and depending on the board you are using, (if you can’t find the board you are looking for, refer to for setup) and click Next.
Boards and Parts Selection
Project Summary
Create IP Integrator Block Diagram
Enter system for the design name and click OK.
Add IP to Block Diagram
Once the IP Catalog opens, type “zynq” into the Search bar, find and double click on ZYNQ7 Processing System entry, or click on the entry and hit the Enter key to add it to the design.
Notice the message at the top of the Diagram window in a green label saying that Designer Assistance available. Click Run Block Automation.
A new window pops up called the Run Block Automation window. In it, select /processing_system7_0, leave the default settings and click OK.
Once Block Automation has been completed, notice that ports have been automatically added for the DDR (double data rate, a type of memory) and Fixed IO, and some additional ports are now visible. The imported configuration for the Zynq related to the board has been applied which will now be modified. The block should finally look like this:
Zynq Block with DDR and Fixed IO ports
A block diagram of the Zynq should now be open again, showing various configurable blocks of the Processing System.
At this stage, the designer can click on various configurable blocks (highlighted in green) and change the system configuration.
Click on one of the peripherals (in green) in the Peripheral I/O Pins block of the Zynq Block Design, or select the MIO Configuration tab on the left to open the configuration form
Expand Peripheral I/O Pins if necessary, and ensure all the following I/O peripherals are deselected except UART 1.
Note : Select UART 0 for PYNQ-Z2 instead of UART 1
i.e. Remove: ENET
USB 0
SD 0
Expand GPIO to deselect GPIO MIO
Expand Memory Interfaces to deselect Quad SPI Flash
Expand Application Processor Unit to disable Timer 0. </i>
Selecting only UART 1
Select the PS-PL Configuration tab on the left.
Expand AXI Non Secure Enablement > GP Master AXI interface and deselect M AXI GP0 interface.
Expand General > Enable Clock Resets and deselect the FCLK_RESET0_N option.
Select the Clock Configuration tab on the left. Expand the PL Fabric Clocks and deselect the FCLK_CLK0 option and click OK.
Regenerating and Validating Design
Generating output products
Right-click again on system.bd, and select Create HDL Wrapper… to generate the top-level VHDL model. Leave the Let Vivado manager wrapper and auto-update option selected, and click OK.
The system_wrapper.v file will be created and added to the project. Double-click on the file to see the content in the Auxiliary pane.
The HDL Wrapper file generated and added to the project
Select File > Export > Export hardware and click OK. (Save the project if prompted) Note: Since we do not have any hardware in Programmable Logic (PL) there is no bitstream to generate, hence the Include bitstream option is not necessary at this time.
Select a platform to create the project
In the project details window, name the project lab1, and in the Target Processor selection, select ps7_cortexa9_0.
Select a template to create the project
The Project Explorer view
Open the memorytest.c file in the lab1_system > lab1 > src, and examine the contents. This file calls the functions to test the memory.
Build the application project
Open the Vitis Serial Terminal
Connect to serial port
Launch Run Configurations
Connect to serial port
Vivado and the IP Integrator allow base embedded processor systems and applications to be generated very quickly. After the system has been defined, the hardware can be exported and Vitis IDE can be invoked from Vivado.
Software development is done in Vitis IDE which provides several application templates including memory tests. You verified the operation of the hardware by using a test application, executing on the processor, and observing the output in the serial terminal window.